Data reproducing apparatuses for reproducing data from a storage medium on which data is recorded by means of magnetic or optical modulation comprise an error correction (ECC) circuit. When writing or reproducing digital data (encoded data), errors may occur in the data because of, for example, external noise. To detect and correct such errors, use is made of error correction codes (ECCs) whereby redundant data is added to data during encoding to form ECC blocks, and any errors in the data during decoding are corrected by the error correction circuit on the basis of the redundant data. If the error correction circuit cannot correct the errors, a read retry, in which the sector containing the errors is sought and read again, is executed. Such a data reproducing apparatus is described in Jpn. Pat. Appln. KOKAI Publication No. 2005-32312.
In the above prior art data reproducing apparatus, in which the read signal is subjected to waveform equalization, Viterbi decoding, demodulation, and ECC processing, the quality of the read signal is evaluated before the ECC processing is executed. This makes it possible to determine whether it will be necessary to execute a read retry before the ECC processing. Viterbi decoding involves the concept of a maximum likelihood path, in which the accumulated error (path metric) between sampled values of a data sequence at a series of time points and ideal waveform equalization values is minimized. By determining the maximum likelihood path and the next maximum likelihood path (competitive path), the difference in their metrics can be calculated to yield a sequenced amplitude margin (SAM). If the SAM is low, there is a strong possibility that the next maximum likelihood path will be erroneously selected because of the influence of, for example, noise. In other words, if the SAM is low, an error will easily occur. Thus read retry is controlled in accordance with the SAM. If SAM<k, complete error correction is possible with normal ECC processing, so read retry is unnecessary. If m≧SAM≧k, complete error correction is not possible with normal ECC processing and the error correction performance of the ECC processing must be enhanced. If SAM>m, no error correction is possible even if the error correction performance of the ECC processing is enhanced, and so a read retry must be executed. (Note that k<m.)
Basing the error correction performance of enhanced ECC processing on the SAM to avoid read retry is central to the prior art data reproducing apparatus.
However, if, during the writing of data, the writing is stopped by, for example, interruption of power, a partially overwritten sector may be left on the disk. Thus the data in the sector may include two code words having different parity, so that even if ECC processing is executed repeatedly, error correction will in all likelihood be impossible. Furthermore, error correction decoding will always fail even if read retry is executed repeatedly.
Since the prior art data reproducing apparatus executes a read retry even on a sector which is unreadable because writing was interrupted, users are forced to wait needlessly.